package cn.wolfcode.wolf2w.service;

import cn.wolfcode.wolf2w.domain.Destination;
import cn.wolfcode.wolf2w.domain.StrategyCatalog;
import cn.wolfcode.wolf2w.query.DestinationQuery;
import org.springframework.data.domain.Page;

import java.util.List;

public interface IDestinationService {
    void save(Destination destination);
    void update(Destination destination);
    void delete(String id);
    Destination get(String id);
    List<Destination> listAll();

    // 关联目的地
    List<Destination> getDestByRegionId(String rid);

    // 分页
    Page<Destination> query(DestinationQuery qo);

    /**
     * 获取吐司
     * @param parentId
     * @return
     */
    List<Destination> getToasts(String parentId);

    /**
     * 更新简介
     * @param id
     * @param info
     */
    void updateInfo(String id, String info);

    /**
     * 通过区域id找目的地（挂载的 和 挂载下的子目的地）
     * @param regionId
     * @return
     */
    List<Destination> search(String regionId);

    /**
     * 通过目的地id 找 攻略分类的集合（包括该分类下的所有攻略）
     * @param destId
     * @return
     */
    List<StrategyCatalog> getCatalogs(String destId);

    /**
     * 通过名字查目的地信息
     * @param name
     * @return
     */
    Destination queryByName(String name);
}
